/* Registration identity: supplied logo, landing geometry and a blue-on-blue form. */
/* Activated only after this form has been moved out of the Enfold wrappers. */
html.fv-registration-viewport {
  margin: 0!important;
  padding: 0!important;
  width: 100%;
  min-height: 100%;
  overflow-x: hidden;
  background: #1c2f5a!important;
}
html.fv-registration-viewport body.fv-registration-page {
  box-sizing: border-box;
  margin: 0!important;
  padding: var(--fv-admin-height, 0px) 0 0!important;
  width: 100%!important;
  max-width: none!important;
  min-height: 100vh;
  min-height: 100svh;
  height: auto!important;
  border: 0!important;
  background: #1c2f5a!important;
}
html.fv-registration-viewport body.fv-registration-page::before,
html.fv-registration-viewport body.fv-registration-page::after,
html.fv-registration-viewport body.fv-registration-page #wrap_all,
html.fv-registration-viewport body.fv-registration-page #header,
html.fv-registration-viewport body.fv-registration-page #footer,
html.fv-registration-viewport body.fv-registration-page #socket,
html.fv-registration-viewport body.fv-registration-page #scroll-top-link { display: none!important; }
html.fv-registration-viewport body.fv-registration-page > .fv-registration {
  display: flex;
  flex-direction: column;
  width: 100%!important;
  max-width: none!important;
  min-height: calc(100vh - var(--fv-admin-height, 0px))!important;
  min-height: calc(100svh - var(--fv-admin-height, 0px))!important;
  margin: 0!important;
  border: 0!important;
  box-shadow: none!important;
}
html.fv-registration-viewport .fv-registration > .fv-brand { width: 100%; flex: 0 0 auto; }
html.fv-registration-viewport .fv-registration > .fv-register-grid { width: 100%; flex: 1 0 auto; }
/* Do not lock vertical scrolling: small screens and zoom must reach the button. */
.fv-registration {
  background: radial-gradient(ellipse at 48% 24%, #1d4e94 0%, transparent 58%), linear-gradient(145deg, #1c2f5a, #10418a 58%, #1c2f5a);
  padding: 30px clamp(24px, 6vw, 100px) 62px;
}
.fv-registration .fv-brand,
.fv-registration .fv-register-grid { position: relative; z-index: 1; }
.fv-registration .fv-brand { max-width: 1320px; margin: 0 auto; padding-left: 64px; }
.fv-registration .fv-register-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 35px; gap: clamp(36px, 6vw, 100px); }
.fv-registration .fv-intro { padding: 12px 0 32px; }
.fv-registration .fv-kicker { font-size: 11px; letter-spacing: 2px; margin-bottom: 26px; }
.fv-registration .fv-event-logo { display: block; width: 100%; max-width: 530px; height: auto; margin: 0 0 38px; object-fit: contain; }
.fv-registration .fv-intro h1 { font-size: clamp(32px, 3vw, 44px); line-height: 1.15; margin-bottom: 18px; color: #fff; }
.fv-registration .fv-intro > p { font-size: 16px; max-width: 470px; color: #e0e9fa; }
.fv-registration .fv-intro .fv-muted { font-size: 12px; margin-top: 25px; }
.fv-registration .fv-form-card {
  background: #28518a;
  color: #fff;
  border: 0;
  border-radius: 20px 0 20px 0;
  box-shadow: none;
  padding: 30px;
}
.fv-registration .fv-form-card .fv-step { color: #d8e7ff; letter-spacing: 2px; }
.fv-registration .fv-form-card h2 { color: #fff; font-size: 29px; }
.fv-registration .fv-form-card label { color: #f5f8ff; }
.fv-registration .fv-form-card .fv-consent { color: #e1eaff; font-size: 12px; line-height: 1.65; }
.fv-registration .fv-form-card .fv-consent a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body#top .fv-registration .fv-form-card .fv-consent,
body#top .fv-registration .fv-form-card .fv-consent span,
body#top .fv-registration .fv-form-card .fv-consent a,
.fv-registration .fv-form-card .fv-consent span,
.fv-registration .fv-form-card .fv-consent a {
  color: #fff!important;
  -webkit-text-fill-color: #fff!important;
  opacity: 1!important;
}
.fv-registration .fv-form-card .fv-help { color: #dbe7fb; }
.fv-registration .fv-form-card .fv-required-note { font-size: 11px; line-height: 1.35; margin: -10px 0 12px; }
.fv-registration .fv-required { color: #fff!important; -webkit-text-fill-color: #fff!important; }
.fv-registration .fv-form-card h2, .fv-registration .fv-intro h1 { text-transform: none!important; }
.fv-registration .fv-form-card .fv-back { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.fv-registration .fv-return-choice { margin-top: 10px; }
:is(#top, body) .fv-registration .fv-form-card .fv-return-button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; min-height: 50px; margin: 0; padding: 12px 20px;
  background: #FF133C!important; color: #fff!important; border: 0; box-shadow: none;
  border-radius: 14px 0 14px 0; font-size: 20px; font-weight: 700;
  line-height: 1.2; text-align: center; text-decoration: none; text-transform: none;
}
:is(#top, body) .fv-registration .fv-form-card .fv-return-button:hover { background: #dc0e32!important; }
.fv-registration .fv-form-card .fv-return-help { margin: 0 0 22px; font-size: 14px; }
.fv-registration .fv-form-card .fv-message { color: #e4f5cb; }
.fv-registration .fv-form-card .fv-error { color: #fff!important; background: #8f1739; border-left: 3px solid #ffc4d3; border-radius: 4px; padding: 10px 12px; }
.fv-registration .fv-form-card input:not([type=checkbox]) { border-color: #fff; background: #fff; color: #1c2f5a; }
.fv-registration .fv-form-card select,
#top .fv-registration .fv-form-card select {
  display: block; width: 100%; min-width: 0; height: 48px; margin: 7px 0 16px;
  padding: 10px 34px 10px 14px; border: 1px solid #fff; border-radius: 8px;
  background-color: #fff; color: #1c2f5a; font: inherit; font-size: 16px;
  line-height: normal; appearance: auto; -webkit-appearance: auto;
}
.fv-registration .fv-form-card input::placeholder { color: #63748c; opacity: 1; }
.fv-registration .fv-fields-row.fv-phone-row { grid-template-columns: 110px minmax(0, 1fr); align-items: end; }
.fv-registration .fv-form-card input[type=checkbox] { accent-color: #c8e600; }
.fv-registration .fv-form-card .fv-primary { background: #BEFF18!important; border-radius: 14px 0 14px 0; min-height: 50px; }
.fv-registration .fv-form-card .fv-primary:hover { background: #d1ff65!important; }
.fv-registration .fv-form-card :focus-visible { outline: 3px solid #e3f686; outline-offset: 4px; }
#top .fv-registration .fv-form-card h2,
#top .fv-registration .fv-intro h1 { color: #fff; }
#top .fv-registration .fv-form-card input:not([type=checkbox]) { border-color: #fff; background: #fff; color: #1c2f5a; }
.fv-registration-art { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; user-select: none; }
.fv-registration-art > span { display: block; position: absolute; }
.fv-art-red { top: 0; left: 0; width: clamp(85px, 9vw, 140px); height: clamp(62px, 7vw, 105px); background: #FF133C; border-radius: 0 0 85px 0; }
.fv-art-purple { top: -90px; right: -95px; width: 290px; height: 290px; background: #734091; border-radius: 50%; }
.fv-art-outline { top: 45%; left: -40px; width: 100px; height: 100px; border: 13px solid #218e94!important; }
.fv-art-blue { top: 47%; right: -45px; width: 135px; height: 100px; background: #2262a4; border-radius: 95px 0 0 0; }
.fv-art-lime { bottom: 9px; right: 4%; width: 125px; height: 165px; background: #c8db22; border-radius: 90px 90px 0 0; }
.fv-registration-art .fv-art-triangles { bottom: 27px; left: 28px; display: block; width: 102px; height: 102px; }
.fv-registration-art .fv-art-triangles img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.fv-registration .fv-color-line { z-index: 2; background: linear-gradient(to right, #c8e600 0 33.33%, #139a98 33.33% 66.66%, #BEFF18 66.66% 83.33%, #FF133C 83.33%); }
@media (max-width: 1000px) {
  .fv-registration { padding: 26px 32px 64px; }
  .fv-registration .fv-brand { padding-left: 62px; }
  .fv-registration .fv-register-grid { gap: 32px; }
  .fv-registration .fv-form-card { padding: 25px; }
  .fv-registration .fv-form-card h2 { font-size: 26px; }
  .fv-art-outline { left: -75px; }
  .fv-art-blue { right: -100px; }
  .fv-art-purple { width: 240px; height: 240px; right: -140px; }
  .fv-art-lime { right: 14px; width: 88px; height: 130px; }
}
@media (max-width: 700px) {
  .fv-registration { padding: 22px 20px 66px; }
  .fv-registration .fv-brand { padding-left: 62px; padding-right: 18px; }
  .fv-registration .fv-register-grid { grid-template-columns: minmax(0, 1fr); margin-top: 28px; gap: 18px; }
  .fv-registration .fv-intro { padding: 14px 6px 0; }
  .fv-registration .fv-kicker { font-size: 9px; margin-bottom: 20px; letter-spacing: 1.5px; }
  .fv-registration .fv-event-logo { max-width: 440px; margin-bottom: 24px; }
  .fv-registration .fv-intro h1 { font-size: clamp(29px, 7vw, 36px); }
  .fv-registration .fv-intro > p { font-size: 14px; }
  .fv-registration .fv-intro .fv-muted { margin-top: 18px; margin-bottom: 12px; font-size: 11px; }
  .fv-registration .fv-form-card { padding: 25px 20px; }
  .fv-registration .fv-form-card .fv-consent { font-size: 12px; }
  .fv-registration .fv-fields-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .fv-registration .fv-fields-row.fv-phone-row { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; }
  .fv-art-red { width: 72px; height: 60px; }
  .fv-art-purple { top: -52px; right: -87px; width: 180px; height: 180px; }
  .fv-art-outline, .fv-art-blue { display: none!important; }
  .fv-registration-art .fv-art-triangles { width: 44px; height: 44px; left: 20px; bottom: 12px; }
  .fv-art-lime { width: 54px; height: 48px; right: 20px; }
}
